package com.telit.uav.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;


/**
 * app_uav_track_detail
 * @author 
 */
@ApiModel(value="com.telit.entity.AppUavTrackDetail")
@Data
public class AppUavTrackDetail implements Serializable {
    /**
     * 主键
     */
    @ApiModelProperty(value="主键")
    private Long id;

    /**
     * 任务id
     */
    @ApiModelProperty(value="任务id")
    private Long taskId;

    /**
     * 实时时间
     */
    @ApiModelProperty(value="实时时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date realTime;

    /**
     * 经度
     */
    @ApiModelProperty(value="经度")
    private String longitude;

    /**
     * 纬度
     */
    @ApiModelProperty(value="纬度")
    private String latitude;

    /**
     * 高度
     */
    @ApiModelProperty(value="高度")
    private String altitude;

    /**
     * 偏向角
     */
    @ApiModelProperty(value="偏向角")
    private String yawAngle;

    /**
     * 俯仰角
     */
    @ApiModelProperty(value="俯仰角")
    private String rollAngle;

    /**
     * 水平角
     */
    @ApiModelProperty(value="水平角")
    private String pitchAngle;

    /**
     * X轴速度
     */
    @ApiModelProperty(value="X轴速度")
    private String speedX;

    /**
     * Y轴速度
     */
    @ApiModelProperty(value="Y轴速度")
    private String speedY;

    /**
     * Z轴速度
     */
    @ApiModelProperty(value="Z轴速度")
    private String speedZ;

    /**
     * 剩余电量
     */
    @ApiModelProperty(value="剩余电量")
    private String remainingPower;

    /**
     * 起飞时间
     */
    @ApiModelProperty(value="起飞时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;

    /**
     * 着陆时间
     */
    @ApiModelProperty(value="着陆时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;

    /**
     * 飞行时长(秒)
     */
    @ApiModelProperty(value="飞行时长(秒)")
    private String duration;

    /**
     * 飞行距离
     */
    @ApiModelProperty(value="飞行距离")
    private String flyDistance;

    /**
     * 最大飞行高度
     */
    @ApiModelProperty(value="最大飞行高度")
    private String maxHigh;

    /**
     * 巡航面积
     */
    @ApiModelProperty(value="巡航面积")
    private String flyArea;

    /**
     * 用户id
     */
    @ApiModelProperty(value="用户id")
    private Long userId;

    /**
     * 无人机名称
     */
    @ApiModelProperty(value="无人机名称")
    private String uavName;

    /**
     * 无人机code
     */
    @ApiModelProperty(value="无人机code")
    private String uavCode;

    /**
     * 飞行时间
     */
    @ApiModelProperty(value="飞行时间")
    private String flyTime;

    /**
     * 轨迹id
     */
    private String trackId;

    //------------------扩展字段----------------------//

    @ApiModelProperty(value="设备厂商")
    private String deviceMaker;

    @ApiModelProperty(value="设备型号")
    private String deviceModel;

    @ApiModelProperty(value="设备编号")
    private String deviceNumber;

    private static final long serialVersionUID = 1L;
}